home *** CD-ROM | disk | FTP | other *** search
/ Go64! / Go64_1999-03_1999_CSW_Side_A.d64 / nova.BBS mode (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  16KB  |  411 lines

  1. 10 data300,1200,2400,4800,9600,19200,38400
  2. 20 poke787,peek(186):ifpeek(6)=255and(peek(2)<1orpeek(2)>2)thenpoke45,peek(174):poke46,peek(175):clr
  3. 30 ifpeek(787)<8orpeek(787)>16thenpoke787,8
  4. 40 ifpeek(2)<1orpeek(2)>2thenpoke2,1:load"nova9.5-1.ml",peek(787),1
  5. 50 ifpeek(2)=1thenpoke2,2:load"nova9.5-2.ml",peek(787),1
  6. 60 poke2,0:poke55,0:poke56,130:poke643,0:poke644,130:sys38436:clr
  7. 70 open5,2,0,chr$(6):ml=38400
  8. 80 sl=52608:dt=usr(ml+87):sa=usr(4):pt=49161:op=ml+15:xm=1024:rv=xm+256
  9. 90 md=52224:m1=md+18:sn=peek(648)*256:q$=chr$(34):dimms$(20),bd$(6)
  10. 100 lc$="":of$="":nc=0:sc=0:nu=0:nd=0:nf=0:mb=peek(m1):fori=0to6:readbd$(i):next
  11. 105 mm$="&c1&d2e0m0v1x4s0=1"
  12. 110 sp$="                                       ":dn$=""
  13. 120 pokesa,peek(sa)or128:pokesa+4,peek(sa+4)or128:poke6,176
  14. 130 dp=peek(787):ifdp<8ordp>16thendp=8
  15. 140 open15,dp,15:dp$="0:":gosub4090:d%(1)=dp:d$(1)=dp$:dd=1:syssl+6:ca=peek(780)
  16. 150 f1$="login.txt":f2$="menu.txt":f3$="logout.txt":gosub720
  17. 160 open2,dp,2,dp$+"\stats":input#15,e:ife>19thenclose2:goto180
  18. 170 input#2,lc$,of$,nc,sc,nu,nd,nf:close2
  19. 180 if(peek(m1+4)and1)andca=0thenpoke780,mb:sysml+33:sysmd+9:sysmd+3
  20. 190 print"[147]"tab(10)"[206]ovaterm 9.5 [194][194][211] mode":print"[197]nter the time: [200][200]:[205][205]";
  21. 200 poke211,16:p9=5:gosub2410:ifi$=""then
  22. 210 ifmid$(i$,3,1)<>":"then190
  23. 220 h=val(left$(i$,2)):m=val(mid$(i$,4,1))*16+val(mid$(i$,5,1)):a=0:ifh>12thenh=h-12:a=1
  24. 230 ifh=0orh=12thenh=12:a=1-a
  25. 240 h=128*a+h+int(h/10)*6:poke56587,h:poke56586,m:poke56585,s:poke56584,0
  26. 250 p=1
  27. 260 print"[147]"tab(10)"[206]ovaterm 9.5 [194][194][211] mode"
  28. 270 printtab(15)"[211]etup menu":printtab(15)"[163][163][163][163][163][163][163][163][163][163]"
  29. 280 print" [211]ysop name[160] : "sy$:print" [194][194][211] name[160]   : "bb$
  30. 290 print" [211]ystem pswd[160]: "pw$:print" [211]ysop pswd[160] : "ps$:print" [201]nit[160]: at"mm$
  31. 300 print" [207]pening msg[160]: "f1$:print" [205]ain menu[160]  : "f2$
  32. 310 print" [204]ogoff msg[160] : "f3$
  33. 320 print" [211]ystem drive[160]    :"str$(dp)","left$(dp$,1):print" [193]vailable drives[160]"
  34. 330 print" [211]ave configuration[160]":print" [204]oad configuration[160]":print" [211]tart [194][194][211][160]"
  35. 340 d=4:tb=1:mx=16:tu=32:gosub3920:poke211,15:ifp>9thenpoke211,20
  36. 341 ifp=5thenpoke211,10
  37. 345 p8=peek(211):p9=-23*(p<5)-28*(p=5)-16*(p>6andp<10)-5*(p=11):ifp9thengosub2410
  38. 350 onpgoto360,380,400,410,420,,430,440,450,,470,760,,660,710,960
  39. 360 sy$=i$:goto460
  40. 380 bb$=i$:goto460
  41. 400 pw$=i$:goto460
  42. 410 ps$=i$:goto460
  43. 420 mm$=i$:goto460
  44. 430 f1$=i$:goto460
  45. 440 f2$=i$:goto460
  46. 450 f3$=i$
  47. 460 print""left$(dn$,p+d)tab(p8)left$(i$+sp$,p9):goto280
  48. 470 ifi$=""then280
  49. 480 j=0:fori=1to5:ifmid$(i$,i,1)=","thenj=i:i=5
  50. 490 next:ifj=0then520
  51. 500 a=val(mid$(i$,j+1)):ifa<0ora>19then520
  52. 510 dp$=mid$(str$(a),2)+":"
  53. 520 a=val(i$):ifa<8ora>16then280
  54. 530 close15:open15,a,15:close15:if(128andst)=0thendp=a
  55. 540 open15,dp,15:goto280
  56. 660 print#15,"s"dp$"\bbs config":open2,dp,2,dp$+"\bbs config,s,w"
  57. 670 print#2,q$sy$:print#2,q$bb$:print#2,q$pw$:print#2,q$ps$:print#2,q$f1$
  58. 680 print#2,q$f2$:print#2,q$f3$:print#2,dp:print#2,q$dp$
  59. 690 print#2,dd:fori=1todd:print#2,q$dd$(i):print#2,d%(i):print#2,q$d$(i):next
  60. 700 print#2,q$mm$:close2:goto280
  61. 710 gosub720:goto280
  62. 720 open2,dp,2,dp$+"\bbs config":input#15,e:ife>19thenclose2:return
  63. 730 input#2,sy$,bb$,pw$,ps$,f1$,f2$,f3$,dp,dp$,dd
  64. 740 fori=1todd:input#2,dd$(i),d%(i),d$(i):next:ifst=0theninput#2,mm$
  65. 750 close2:return
  66. 760 print"[147]"tab(10)"[206]ovaterm 9.5 [194][194][211] mode":pp=p:p=1
  67. 770 printtab(9)"[196]isk device setup menu":printtab(9)"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  68. 780 print" [196]irectory category      [196]evice  [196]rive":fori=1todd
  69. 790 print" "left$(dd$(i)+sp$,23)"  "d%(i)tab(35)left$(d$(i),len(d$(i))-1);
  70. 800 printtab(38)"[160]":next:printsp$:print" [193]dd a directory[160]   "
  71. 810 print" [196]elete a directory[160]":print" [209]uit[160]              ":printsp$
  72. 820 d=5:tb=1:mx=dd+4:tu=32:gosub3920:ifp=mxthenp=pp:goto260
  73. 830 sysml+18:ifp=mx-1andd>1thendl=1:goto780
  74. 840 ifp=mx-2thendl=0:p=p-1:print"[145]";:ifdd=10then780
  75. 850 ifdl=0ordd=1then890
  76. 860 fori=p+1todd:dd$(i-1)=dd$(i):d%(i-1)=d%(i):d$(i-1)=d$(i):next
  77. 870 dl=0:dd=dd-1:ifp>ddthenp=dd
  78. 880 goto780
  79. 890 poke211,1:p9=23:gosub2410:ifi$>""thendd$(p)=i$
  80. 900 ifi$=""andp=mx-1then780
  81. 910 print"[145]";:poke211,27:p9=2:gosub2410:a=val(i$):ifa>=8anda<=15thend%(p)=a
  82. 920 print"[145]";:poke211,35:p9=2:gosub2410:a=val(i$)
  83. 930 ifa>=0anda<20thend$(p)=mid$(str$(a),2)+":"
  84. 940 ifp>ddthendd=p
  85. 950 goto780
  86. 960 rn=8-(peek(56577)and8):ifpeek(m1+4)and1then980
  87. 970 print"[147][211]et [207]-[193] switch to [193]nswer and hit [210]eturn[146]":wait198,1:geta$
  88. 980 print"[147][204]ast caller: "lc$:print"[207]ff at     : "of$
  89. 990 print"[206]umber of calls :"nc:print"[211]ysop calls     :"sc
  90. 1000 print"[213]ploads         :"nu:print"[196]ownloads       :"nd
  91. 1010 print"[198]eedback        :"nf
  92. 1020 print"[201]nitializing modem...":bd=mb:poke780,mb:sysml+33
  93. 1025 ifpeek(m1+4)and1thenprint#5,"atz":fori=1to1000:next:print#5,"at"mm$
  94. 1030 print"[145][215]aiting for call...  "
  95. 1040 print"[198]1[146]:[209]uit  [198]3[146]:[204]ocal mode  [198]7[146]:[211]etup menu"
  96. 1050 pokesa+14,peek(sa+14)and127:lc=0:xp=0:sy=0:cd=0
  97. 1060 dd$=dd$(1):dv=d%(1):dv$=d$(1):close14:open14,dv,15
  98. 1070 sysml+9:if(peek(56577)and8)=rnthen1130
  99. 1080 syssl+6:ifpeek(780)then1160
  100. 1090 geta$:ifa$="[133]"then2250
  101. 1100 ifa$="[136]"then250
  102. 1110 ifa$="[134]"thenprint"[147] [204]ocal mode ":pokesa+14,peek(sa+14)or128:sysmd+3:lc=1:goto1170
  103. 1120 goto1070
  104. 1130 print"[195]all answered...waiting for carrier":if(peek(m1+4)and1)=0then1139
  105. 1131 i$="":ti$="000000"
  106. 1132 get#5,a$:printa$;:ifti$="000020"then1140
  107. 1133 if(asc(a$+chr$(0)))>=32theni$=i$+a$:goto1132
  108. 1134 ifa$<>cr$then1132
  109. 1135 ifleft$(i$,7)<>"connect"andleft$(i$,7)<>"carrier"theni$="":goto1132
  110. 1136 ifmid$(i$,9)=""thenpokem1+1,0:goto1140
  111. 1137 fori=1to6:ifval(bd$(i))=val(mid$(i$,9))thenbd=i:i=6
  112. 1138 next:pokem1+1,bd:goto1140
  113. 1139 sysmd+6
  114. 1140 syssl+6:ifpeek(780)=0then980
  115. 1150 bd=peek(m1+1):poke780,bd:sysml+33
  116. 1160 print"[147] "bd$(bd)" baud connection "
  117. 1170 print" [146][157]";:s$="[133][215]elcome to "+bb$+" on [206]ovaterm 9.5[133]":sysop
  118. 1180 s$="[133][197]nter your name: ":sysop:p9=25:gosub2510:ifi$=""andcd=0then1180
  119. 1185 ifcdthen980
  120. 1190 n$=i$:tr=0:ifpw$=""then1230
  121. 1200 s$="[133][197]nter system password: ":sysop:p9=25:gosub2510:ifi$=pw$then1230
  122. 1210 s$="[133][201]nvalid password[133]":sysop:tr=tr+1:iftr<3then1200
  123. 1220 s$="[133][193]ccess denied![133]":sysop:goto1980
  124. 1230 gosub3880:t1$=tmto:tr=0:ifn$<>sy$then1300
  125. 1240 s$="[133][197]nter sysop password: ":sysop:p9=25:gosub2510:ifi$=ps$then1270
  126. 1250 s$="[133][201]nvalid password[133]":sysop:tr=tr+1:iftr<2then1240
  127. 1260 goto1220
  128. 1270 s$="[133][211]ysop access granted[133]":sysop:sy=1
  129. 1280 open2,dp,2,dp$+"feedback":input#15,e:close2
  130. 1290 ife=0thens$="[133][217]ou have messages waiting.[133]":sysop
  131. 1300 iff1$>""thenf$=f1$:gosub2690
  132. 1310 print" [146][157]";:ifxpthen1420
  133. 1320 iff2$>""thenf$=f2$:gosub2690:ife<20then1420
  134. 1330 s$="[133]"+left$(sp$,(33-len(bb$))/2)+bb$+" menu[133]":sysop
  135. 1340 s$="[133][$][196]irectory          [[210]]ead textfile[133]":sysop
  136. 1350 s$="[#][195]hange drive       [[212]]erminate[133]":sysop
  137. 1360 s$="[[195]]hat request        [[213]]pload file[133]":sysop
  138. 1370 s$="[[196]]ownload file       [[215]]rite textfile[133]":sysop
  139. 1380 s$="[[198]]eedback to sysop   [[216]]pert toggle[133]":sysop
  140. 1390 s$="[[208]]rotocol[133]":sysop:ifsy=0then1420
  141. 1400 s$="[133][@][196]isk command       [[218]][210]ead feedback[133]":sysop
  142. 1410 s$="[[204]]og of callers[133]":sysop
  143. 1420 s$="[133][$,#,[195],[196],[198],[208],[210],[212],[213],[215],[216]]: ":sysop
  144. 1430 gosub2630:ifcdthen1990
  145. 1440 ifa$="?"ora$="h"thens$="[205]enu[133]":sysop:goto1320
  146. 1450 ifa$="@"andsythens$="[196]isk command[133]":sysop:goto3830
  147. 1460 ifa$="$"thens$="[196]irectory[133]":sysop:goto1610
  148. 1470 ifa$="#"thens$="[195]hange drive[133]":sysop:goto2130
  149. 1480 ifa$="c"thens$="[195]hat[133]":sysop:goto1660
  150. 1490 ifa$="d"thens$="[196]ownload[133]":sysop:goto2730
  151. 1500 ifa$="f"thens$="[198]eedback[133]":sysop:goto3360
  152. 1510 ifa$="l"andsythens$="[204]og of callers[133]":sysop:goto3800
  153. 1520 ifa$="p"thens$="[208]rotocol[133]":sysop:goto1740
  154. 1530 ifa$="r"thens$="[210]ead textfile[133]":sysop:goto1900
  155. 1540 ifa$="t"thens$="[212]erminate[133]":sysop:goto1950
  156. 1550 ifa$="u"thens$="[213]pload[133]":sysop:goto3090
  157. 1560 ifa$="w"thens$="[215]rite textfile[133]":sysop:goto2050
  158. 1570 ifa$="x"thens$="[197]xpert toggle[133]":sysop:goto2110
  159. 1580 ifa$="z"andsythens$="[210]ead feedback[133]":sysop:goto3770
  160. 1590 ifa$=chr$(13)then1310
  161. 1600 goto1430
  162. 1610 ifdd$>""thens$="[133][196]irectory: "+dd$+"[133]":sysop
  163. 1620 s$="[133]":sysop:open1,dv,0,"$"+left$(dv$,len(dv$)-1):get#1,a$,a$
  164. 1630 sysml+54:ifmid$(z$,7,1)="\"andsy=0then1630
  165. 1640 s$=z$+"[133]":sysop:ifright$(z$,1)<>"."andright$(z$,4)<>"free"then1630
  166. 1650 close1:gosub2240:goto1310
  167. 1660 s$="[133][208]aging sysop...":sysop:j=0:fori=1to5:s$=".":sysop
  168. 1670 fort=1to1500:next:geta$:ifa$="[133]"thenj=1:i=5
  169. 1680 next:ifj=0thens$="[133][133]"+sy$+" is not available.[133]":goto1310
  170. 1690 s$="[133][133][197]ntering chat[133][133]":sysop
  171. 1700 geta$:get#5,b$:ifa$>""thens$=a$:sysop
  172. 1710 ifb$>""thens$=chr$(peek(rv+asc(b$))):sysop
  173. 1720 ifa$<>"[133]"then1700
  174. 1730 s$="[133][204]eaving chat[133]":sysop:goto1310
  175. 1740 open1,dp,0,"$"+dv$+"prt.*":gosub2340:iferthenclose1:goto1310
  176. 1750 get#1,a$,a$:sysml+54:fl=0
  177. 1760 sysml+54:ifright$(z$,1)="."orright$(z$,4)="free"then1810
  178. 1770 f$="":fori=11to22:a$=mid$(z$,i,1):ifa$=chr$(34)theni=22:goto1790
  179. 1780 f$=f$+a$
  180. 1790 next:iff$=""then1760
  181. 1800 fl=fl+1:f$(fl)=f$:goto1760
  182. 1810 close1:iffl=0thens$="[133][206]o protocol files[133]":goto1310
  183. 1820 s$="[133][211]elect protocol:[133][133]":sysop
  184. 1830 fori=1tofl:s$=chr$(i+192)+") "+f$(i)+"[133]":sysop:next:s$="[133][211]elect: ":sysop
  185. 1840 gosub2630:ifcdthen1990
  186. 1850 ifa$=chr$(13)thens$=a$:sysop:goto1310
  187. 1860 ifa$<"a"ora$>chr$(fl+64)then1840
  188. 1870 s$=chr$(asc(a$)+128)+"[133]":sysop:p=asc(a$)-64:f$="prt."+f$(p)
  189. 1880 open2,dp,0,dv$+f$:gosub2340:close2:ifer=0thengosub4340:pt$=f$(p):gosub3070
  190. 1890 goto1310
  191. 1900 s$="[133][198]ile name: ":sysop:p9=16:gosub2510:ifi$=""then1310
  192. 1905 ifleft$(i$,1)="\"andsy=0theni$=mid$(i$,2)
  193. 1910 s$="[133]":sysop:open2,dv,2,dv$+i$+",s":gosub2340:iferthen1940
  194. 1920 poke781,2:sysml+60:f=st:sysop:iff=0then1920
  195. 1930 gosub2240
  196. 1940 close2:goto1310
  197. 1950 gosub2360:ify=0then1310
  198. 1960 iff3$>""thenf$=f3$:gosub2690
  199. 1970 s$="[133][199]oodbye![133]":sysop
  200. 1980 sysmd:syssl+6:ifpeek(780)thenfort=1to2500:next:goto1980
  201. 1990 gosub3880:print" ":printn$" logged out at "tm$
  202. 2000 open2,dp,2,dp$+"\caller log,s,a":input#15,e
  203. 2010 ife>19thenclose2:open2,dp,2,dp$+"\caller log,s,w"
  204. 2020 print#2,left$(n$+"...............................",23)t1$"-"tm$:close2
  205. 2030 lc$=n$:of$=tm$:nc=nc+1:ifsythensc=sc+1
  206. 2040 gosub4090:goto980
  207. 2050 s$="[133][198]ile name: ":sysop:p9=16:gosub2510:ifi$=""then1310
  208. 2060 open2,dv,2,dv$+i$+",s,w":gosub2340:iferthen2100
  209. 2070 s$="[133][197]nter text one line at a time.[133]":sysop
  210. 2080 s$="[197]nter the @ symbol by itself to end.[133][133]":sysop
  211. 2090 p9=78:gosub2510:ifi$<>"@"thensysml+24:print#2,i$:sysml+21:goto2090
  212. 2100 close2:goto1310
  213. 2110 xp=1-xp:ifxpthens$="[133][197]xpert mode [207][206][133]":sysop:goto1310
  214. 2120 s$="[133][197]xpert mode [207][198][198][133]":sysop:goto1310
  215. 2130 ifdd=1thens$="[133][207]nly one drive available[133]":sysop:goto1310
  216. 2140 s$="[133][211]elect drive:[133][133]":sysop:fori=1todd:s$=chr$(i+192)+") ":sysop
  217. 2150 ifdd$(i)>""thens$=dd$(i)+"[133]":goto2170
  218. 2160 s$="[196]evice"+str$(d%(i))+", [196]rive "+left$(d$(i),len(d$(i))-1)+"[133]"
  219. 2170 sysop:next:s$="[133][211]elect: ":sysop
  220. 2180 gosub2630:ifcdthen1990
  221. 2190 ifa$=chr$(13)thens$=a$:sysop:goto1310
  222. 2200 ifa$<"a"ora$>chr$(dd+64)then1840
  223. 2210 d=asc(a$)-64:s$=chr$(d+192)+"[133]":sysop:dd$=dd$(d):dv=d%(d):dv$=d$(d)
  224. 2220 close14:open14,dv,15:close14:if128andstthen2140
  225. 2230 open14,dv,15:goto1310
  226. 2240 ifxpthenreturn
  227. 2245 s$="[133]* [200]it a key *":sysop:gosub2630:s$="[133]":sysop:return
  228. 2250 print"[211]ave stats?  [146][157]";
  229. 2260 geta$:ifa$<>"y"anda$<>"n"then2260
  230. 2270 ifa$="n"thenprint"no":goto2300
  231. 2280 print"yes":print#15,"s"dp$"\stats":open2,dp,2,dp$+"\stats,s,w":print#2,q$lc$
  232. 2290 print#2,q$of$:print#2,nc:print#2,sc:print#2,nu:print#2,nd:print#2,nf:close2
  233. 2300 poke6,255:open2,dp,0,dp$+"prog menu":input#15,e:close2:ife>19then2320
  234. 2310 loaddp$+"prog menu",dp
  235. 2320 open2,dp,0,dp$+"novaterm ?.?*":input#15,e:close2:ife>19thenend
  236. 2330 loaddp$+"novaterm ?.?*",dp
  237. 2340 er=0:input#14,e,e$:ife>19thener=1:s$="[133]"+e$+"[133]":sysop
  238. 2350 return
  239. 2360 s$="[133][193]re you sure? ":sysop
  240. 2370 gosub2630:ifcdtheny=0:return
  241. 2380 ifa$="y"thens$="yes[133]":sysop:y=1:return
  242. 2390 ifa$="n"thens$="no[133]":sysop:y=0:return
  243. 2400 goto2370
  244. 2410 open9,3:poke780,p9:sysml+39:close9:return
  245. 2510 i$="":cd=0
  246. 2520 iflc=0thenget#5,b$:ifb$>""then2560
  247. 2530 iflc=0thensyssl+6:ifpeek(780)=0theni$="":cd=1:return
  248. 2540 geta$:ifa$=""then2520
  249. 2550 goto2570
  250. 2560 a$=chr$(peek(rv+asc(b$)))
  251. 2570 if(asc(a$)and127)<32then2600
  252. 2580 iflen(i$)=p9then2520
  253. 2590 i$=i$+a$:s$=a$:sysop:goto2520
  254. 2600 ifa$=chr$(20)andi$>""theni$=left$(i$,len(i$)-1):s$=a$:sysop:goto2520
  255. 2610 ifa$=chr$(13)thens$=a$:sysop:return
  256. 2620 goto2520
  257. 2630 iflc=0thenget#5,a$:ifa$>""then2660
  258. 2640 iflc=0thensyssl+6:ifpeek(780)=0thencd=1:return
  259. 2650 geta$:ifa$=""then2630
  260. 2660 a=peek(rv+asc(a$)):ifa>=97anda<=122thena=a-32
  261. 2670 ifa>=193anda<=218thena=a-128
  262. 2680 a$=chr$(a):return
  263. 2690 open2,dp,2,dp$+f$:input#15,e:ife>19thenclose2:return
  264. 2700 s$="[133]":sysop
  265. 2710 poke781,2:sysml+60:f=st:sysop:iff=0then2710
  266. 2720 close2:return
  267. 2730 iflcthens$="[133][195]an't download in local mode[133]":sysop:goto1310
  268. 2735 s$="[133][208]rotocol: "+pt$+"[133]":sysop:tt=0:if(peek(pt+14)and8)then2890
  269. 2740 s$="[133][198]ile name: ":sysop:p9=16:gosub2510:ifi$=""then1310
  270. 2750 ifleft$(i$,1)="\"andsy=0theni$=mid$(i$,2)
  271. 2760 ts=0:open1,dv,0,"$"+dv$+i$:gosub2340:iferthenclose1:goto1310
  272. 2770 get#1,a$,a$:sysml+54:sysml+54:close1
  273. 2780 ifright$(z$,1)="."orright$(z$,4)="free"thents=1
  274. 2790 iftsthens$="[133][198]ile not found[133]":sysop:goto1310
  275. 2810 tt$=mid$(z$,25,3):tp$=left$(tt$,1):tt=-(tp$="p")-2*(tp$="s")-3*(tp$="u")
  276. 2820 s$="[133][198]ile name: "+i$+"[133][198]ile type: "+tt$+"[133][198]ile blocks:"+str$(val(z$))+"[133]"
  277. 2830 sysop:open2,dv,2,dv$+i$:gosub2340:iferthenclose2:goto1310
  278. 2840 gosub3355:s$="[133][194][194][211] ready to send file[133][208]ress [195]trl-[216] to abort[133]":sysop
  279. 2850 print" ":print"[194]ytes sent :           [197]rrors :";
  280. 2860 pokept+16,tt:syspt-9:print:nd=nd+1
  281. 2870 ifpeek(pt+15)thens$="[133][196]ownload aborted[133]":sysop:nd=nd-1
  282. 2880 close2:goto1310
  283. 2890 s$="[133][197]nter a blank file name to end.[133][133]":sysop:fl=0               
  284. 2900 s$="[206]ame of file"+str$(fl+1)+": ":sysop:p9=16:gosub2510:ifi$=""then2950
  285. 2910 ifleft$(i$,1)="\"andsy=0theni$=mid$(i$,2)
  286. 2920 open2,dv,2,dv$+i$:input#14,e:close2:ife>19then2900
  287. 2940 fl=fl+1:f$(fl)=i$:iffl<9then2900
  288. 2950 f$(fl+1)="":iffl=0then1310
  289. 2960 s$="[133][194][194][211] ready to send files[133][208]ress [195]trl-[216] to abort[133]":sysop
  290. 2970 syspt-9:ff=0:fory=1tofl+1:i$=f$(y):ifi$=""then3030
  291. 2980 open1,dv,0,"$"+dv$+i$:gosub2340:iferthenclose1:goto1310
  292. 2990 get#1,a$,a$:sysml+54:sysml+54:close1
  293. 3000 tp$=mid$(z$,25,1):tt=-(tp$="p")-2*(tp$="s")-3*(tp$="u")
  294. 3010 open2,dv,2,dv$+i$:gosub2340:iferthenclose2:goto3050
  295. 3020 print" ":print"[211]ending "i$:print"[194]ytes sent :           [197]rrors :";
  296. 3030 pokept+16,tt:syspt-9:close2:print
  297. 3040 ifpeek(pt+15)theny=fl+1
  298. 3050 ff=ff+1:next:ifpeek(pt+15)thens$="[133][196]ownload aborted[133]":sysop:ff=ff-1
  299. 3060 nd=nd+ff:goto1310
  300. 3070 pokept,1:pokept+18,dv:pokept+21,0:pokept+23,sp:pokept+24,val(dv$)
  301. 3080 pokept+14,peek(pt+14)or16:return
  302. 3090 iflcthens$="[133][195]an't download in local mode[133]":sysop:goto1310
  303. 3095 fl=0:s$="[133][208]rotocol: "+pt$+"[133]":sysop:if(peek(pt+14)and10)=0then3130
  304. 3100 b$="":ifpeek(pt+14)and8thenb$="s"
  305. 3110 h$="":s$="[133][200]ide the file"+b$+"? ":sysop:gosub2370:ifythenh$="\"
  306. 3115 gosub3355:s$="[133][194][194][211] ready to receive file"+b$+"[133][208]ress [195]trl-[216] to abort[133]"
  307. 3120 sysop:print" [145]";:goto3300
  308. 3130 s$="[133][198]ile name: ":sysop:p9=16:gosub2510:ifi$=""then1310
  309. 3140 open2,dv,2,dv$+i$:input#14,e:close2:ife<20thens$="[133][198]ile exists[133]":sysop:goto1310
  310. 3150 tp$="p":tt$="":ifpeek(pt+14)and1then3220
  311. 3160 s$="[133][198]ile type (prg,seq,usr): ":sysop
  312. 3170 gosub2630:ifcdthen1990
  313. 3180 ifa$=chr$(13)thens$=a$:sysop:goto1310
  314. 3190 ifa$<>"p"anda$<>"s"anda$<>"u"then3170
  315. 3200 tt=-(a$="p")-2*(a$="s")-3*(a$="u"):s$=mid$("prgsequsr",tt*3-2,3)+"[133]":sysop
  316. 3210 tp$=a$
  317. 3220 h$="":s$="[133][200]ide the file? ":sysop:gosub2370:ifythenh$="\"
  318. 3225 gosub3355:ifpeek(pt+14)and1then3285
  319. 3230 tt$=","+tp$:open2,dv,2,dv$+h$+i$+tt$+",w":gosub2340:fl=fl+1
  320. 3240 iferand(peek(pt+14)and8)=0thenclose2:goto1310
  321. 3250 iferande=63theni$=left$(i$,len(i$)-1)+chr$(asc(right$(i$,1))+1):goto3230
  322. 3260 iferthensyspt-3:goto3310
  323. 3270 a=peek(pt+14)and11:ifaanda<8theni$=""
  324. 3280 ifi$=""thenprint"[145]";:goto3300
  325. 3285 iffl=0ora=0thens$="[133][194][194][211] ready to receive file[133][208]ress [195]trl-[216] to abort[133]":sysop
  326. 3290 print" ":print"[210]eceiving: "i$tt$:print"[194]ytes recv :           [197]rrors :";
  327. 3300 pokept+16,tt:syspt-6:close2:print:nu=nu+1
  328. 3310 ifpeek(pt+15)thens$="[133][213]pload aborted![133]":sysop:print#14,"s"dv$i$:nu=nu-1:goto1310
  329. 3320 if(peek(pt+14)and11)=0ori$=""then1310
  330. 3330 tt=peek(pt+16):tp$=mid$("psu",tt,1):iftt=0thentt=1:tp$="p"
  331. 3340 iflen(i$)>1thenifmid$(i$,len(i$)-1,1)=","thentp$=right$(i$,1):i$=left$(i$,len(i$)-2)
  332. 3350 i$=left$(i$,16):goto3230
  333. 3355 s$="[133][193][211][195][201][201][160]translation during transfer? ":sysop:gosub2370:pokept+22,y:return
  334. 3360 li=0:gosub3880                                      
  335. 3370 s$="[133][198]rom: "+n$+"[133][212]ime: "+tm$+"[133][133][197]nter your message:[133][133]":sysop
  336. 3380 ifli=20thens$="[133][206]o more room[133]":goto3440
  337. 3390 fori=li+1to20:s$=right$(str$(i),2)+": ":sysop:p9=74:gosub2510:ifi$=""thenli=i-1:i=20
  338. 3400 ifi$>""thenms$(i)=i$
  339. 3410 next:ifli=0andms$(20)>""thenli=20:s$="[133][206]o more room[133]":sysop
  340. 3420 s$="[133][[193]]bort          [[195]]ontinue message[133][[196]]elete line    [[197]]dit line[133]"
  341. 3430 sysop:s$="[[201]]nsert line    [[204]]ist message[133][[211]]ave message[133]":sysop
  342. 3440 s$="[133][[193],[195],[196],[197],[201],[204],[211]]: ":sysop
  343. 3450 gosub2630:ifcdthen1990
  344. 3460 s$=a$+"[133]":ifa$="?"thensysop:goto3420
  345. 3470 ifa$="a"thensysop:goto3750
  346. 3480 ifa$="c"thens$=s$+"[133]":sysop:goto3380
  347. 3490 ifa$="d"thensysop:goto3580
  348. 3500 ifa$="e"thensysop:goto3610
  349. 3510 ifa$="i"thensysop:goto3650
  350. 3520 ifa$="l"thensysop:goto3680
  351. 3530 ifa$="s"thensysop:goto3700
  352. 3540 goto3450
  353. 3550 l=0:s$="[133][204]ine number: ":sysop:p9=2:gosub2510:ifi$=""thenreturn
  354. 3560 l=val(i$):ifl<1orl>lithenl=0
  355. 3570 return
  356. 3580 ifli=0then3440
  357. 3590 gosub3550:ifl=0then3440
  358. 3600 fori=l+1toli:ms$(i-1)=ms$(i):next:li=li-1:goto3440
  359. 3610 gosub3550:ifl=0then3440
  360. 3620 s$="[133]"+right$(str$(l),2)+": "+ms$(l)+"[133]"+right$(str$(l),2)+": ":sysop
  361. 3630 p9=74:gosub2510:ifi$=""then3440
  362. 3640 ms$(l)=i$:goto3440
  363. 3650 ifli=20then3440
  364. 3660 gosub3550:ifl=0then3440
  365. 3670 fori=litolstep-1:ms$(i+1)=ms$(i):next:li=li+1:ms$(l)="":goto3440
  366. 3680 s$="[133]":sysop:fori=1toli:s$=right$(str$(i),2)+": "+ms$(i)+"[133]":sysop:next
  367. 3690 goto3440
  368. 3700 gosub2360:ify=0then3440
  369. 3710 s$="[133][211]aving...[133]":sysop:open2,dp,2,dp$+"feedback,s,a":input#15,e
  370. 3720 ife>19thenclose2:open2,dp,2,dp$+"feedback,s,w"
  371. 3730 print#2:print#2,"[198]rom: "n$:print#2,"[212]ime: "tm$:print#2
  372. 3740 fori=1toli:print#2,ms$(i):next:close2:nf=nf+1:goto1310
  373. 3750 gosub2360:ify=0then3440
  374. 3760 s$="[133][193]borted[133]":sysop:goto1310
  375. 3770 f$="feedback":gosub2690:ife>19thens$="[133][206]o feedback[133]":sysop:goto1310
  376. 3780 s$="[133][196]elete messages? ":sysop:gosub2370:ifythenprint#15,"s"dp$"feedback":nf=0
  377. 3790 goto1310
  378. 3800 f$="\caller log":gosub2690:ife>19thens$="[133][206]o caller log[133]":sysop:goto1310
  379. 3810 s$="[133][196]elete caller log? ":sysop:gosub2370:ifythenprint#15,"s"dp$"\caller log"
  380. 3820 goto1310
  381. 3830 s$="[133][196]evice"+str$(dv)+", drive "+left$(dv$,len(dv$)-1)+"[133]":sysop
  382. 3840 s$="[133][196][207][211]>":sysop
  383. 3850 p9=50:gosub2510:ifi$=""then1310
  384. 3860 print#15,i$:input#15,e1$,e2$,e3$,e4$:s$="[133]"+e1$+","+e2$+","+e3$+","+e4$+"[133]":sysop
  385. 3870 goto3840
  386. 3880 h=peek(56587):m=peek(56586):a=peek(56584)
  387. 3890 a$="am":ifh>127thena$="pm":h=hand127
  388. 3900 h=h-int(h/16)*6:m=m-int(m/16)*6:m$=mid$(str$(m),2):ifm<10thenm$="0"+m$
  389. 3910 tm$=mid$(str$(h),2)+":"+m$+a$:return
  390. 3920 poke780,p:poke781,d:poke782,mx:pokedt+37,tu+tb:syssl+27:p=peek(780):tu=0:return
  391. 4090 open2,dp,2,dp$+"nova data 9.5":input#15,e:ife>19thenclose2:return
  392. 4100 input#2,v$:ifv$<>"9.5"thenclose2:return
  393. 4110 input#2,bd,di,d1,d2,d1$,d2$,d3,d3$,pn,ps,c1,c2,c3,c4,b,re,c7,c8,c9,xo,xf,xp,sw
  394. 4130 input#2,ld,c,d,e,f:fori=0to17:input#2,a:pokesa+40+peek(678)*18+i,a:next
  395. 4140 input#2,mi$,mo$,pt$,fo$:close2
  396. 4150 pokedt+25,b:pokedt+32,c:pokedt+8,d
  397. 4180 ifmo$>""thenf$="modem."+mo$:gosub4340:gosub4320:ife>19thenmo$=a1$
  398. 4190 ifpt$>""thenf$="prt."+pt$:gosub4340:gosub3070:ife>19thenpt$=a2$
  399. 4200 iffo$>""thenf$="font."+fo$:gosub4340:ife>19thenfo$=""
  400. 4230 f$="asc.standard":gosub4340
  401. 4240 poke53280,c1:poke53281,c2:poke646,c3:sysml+57
  402. 4260 ifsw=0thenpokedt+10,0:goto4300
  403. 4270 pokedt+10,1
  404. 4280 poke781,-222*(sw=1)-223*(sw=2)-215*(sw=3):sysml+63:a=peek(781)*256
  405. 4290 pokea+1,0:pokea+2,9
  406. 4300 ifmb>2thenmb=bd
  407. 4310 poke780,bd:sysml+33:return
  408. 4320 if(peek(m1+4)and2)=0thendi=0
  409. 4330 pokem1+4,(peek(m1+4)and3)ordi*4:mb=peek(m1):return
  410. 4340 sysml+24:poke780,dp:f$=dp$+f$:syssl+21:input#15,e:close2:sysml+21:return
  411.